package day3;

import java.util.Scanner;

import org.junit.Test;

public class HomeWork {

//	-----*
//	----***
//	   *****
//	  *******
//	 *********
//	***********
	// i=1   j=1   j=5
	// i=2   j=3   j=4
	// i=3   j=5   j=3
	@Test
	public void test1() {
		for (int i = 1; i <= 6; i++) {
			for (int j = 1; j <= (6 - i); j++) {
				System.out.print(" ");
			}
			for (int j = 1; j <= (2 * i -1) ; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
	}
	
	//2、使用循环打印100-200之间所有的素数（只能被1和自己整除的数叫素数）
	@Test
	public void test2() {
		for (int i = 100; i <= 200; i++) {
			// 假设i是素数
			boolean isSuShu = true;
			// 不包含1也不包含自己（这个内层循环的目的就是判断遍历的i是不是素数）
			for (int j = 2; j < i; j++) {
				if (i % j == 0) {
					// 找到一个证明能整除，就一定不是素数，不需要再往下找
					isSuShu = false;
					break;
				}
			}
			
			if (isSuShu == true) {
				System.out.println("是素数");
			}
		}
	}
	
	@Test
	public  void test25() {
		for(int i = 100 ; i <= 200; i++) {
			for(int j = 2;j < i; j++) {
				// 找到一个整除，不是素数，就退出
				if(i % j == 0) {
					break;
				}
				if(j == i - 1) {
					System.out.println(i + "是素数");
				}
			}
		}
	}
	
	// 16、题目：一个5位数，判断它是不是回文数。即12321是回文数，个位与万位相同，十位与千位相同。
	@Test
	public void test66() {
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入一个字符串：");
		String str = scanner.next();// "asfdhgf"
		// 将字符串转换为字符数组
		char[] array = str.toCharArray();
		// 是回文，需要全部遍历完才知道
		// 不是回文，只要找出一个反例
		// i+x=array.length-1  x=array.length-1-i
		// 初始是回文
		boolean isHuiWen = true;
		for (int i = 0; i < array.length / 2; i++) {
			if (array[i] != array[array.length - 1 - i]) {
				// 找出反例，不是回文
				isHuiWen = false;
				break;
			}
		}
		
		// 遍历完也没有找出一个反例，证明就是回文
		if (isHuiWen == true) {
			System.out.println("是回文");
		} else {
			System.out.println("不是回文");
		}
	}
	
	// 17、输入一行字符，分别统计出其中英文字母、空格、数字和其它字符的个数。
	@Test
	public void test55() {
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入一个字符串：");
		// nextLine() 输入的字符串里面可以包含空格
		String str = scanner.nextLine();
		// 将字符串转换为字符数组
		char[] array = str.toCharArray();
		int letterCount = 0;
		int numberCount = 0;
		int blankCount = 0;
		int otherCount = 0;
		for (int i = 0; i < array.length; i++) {
			System.out.println(array[i]);
			if ((array[i] >= 'a' && array[i] <= 'z') 
					|| (array[i] >= 'A' && array[i] <= 'Z')) {
				letterCount++;
			} else if (array[i] >= '0' && array[i] <= '9') {
				numberCount++;
			} else if (array[i] == ' ') {
				blankCount++;
			} else {
				otherCount++;
			}
		}
		
		System.out.println("字母个数：" + letterCount);
		System.out.println("数字个数：" + numberCount);
		System.out.println("空格个数：" + blankCount);
		System.out.println("其他个数：" + otherCount);
	}
	
	
	
}
